package com.leecode;

/**
 * 141. 环形链表
 */
public class Leet141 {
	public static void main(String[] args) {

	}

	/**
	 * 100%,52%,
	 * 考点:slow,quic,我第二次居然写不出优雅代码!!!!!!!!!!!!!!!!
	 * quic为null,肯定返false
	 */
	public boolean hasCycle(ListNode head) {
		if(head==null)return false;

		ListNode slow=head;
		ListNode quic=head;//双指

		while(quic!=null){//有时脑子短路想不出,可以先写while内部,
			if(slow.next==null)return false;
			slow=slow.next;//因为开始位置同,所以先移位置再比较
			if(quic.next==null || quic.next.next==null)return false;
			quic=quic.next.next;

			if(slow==quic)return true;
		}

		return false;
	}
}
